/*******************************************************************
 * @Warning      : Without permission from the author,Not for commercial use
 * @File         :
 * @Author       : xiaowine
 * @Date         : 2020-09-05 20:16:55
 * @version      : v01.00
 * @ **************************************************************
 * @LastEditTime : 2020-09-05 21:00:35
 * @LastEditors  : xiaowine
 * @ **************************************************************
 * @brief        :
 * @Description  :
 * @FilePath     : \T5L_C51_PRJ\HARDWARE\uart.h
 * @ **************************************************************
 * @attention    :
 * @Powered By xiaowine
 * @<h2><center>&copy;  Copyright(C) cee0.com 2020</center></h2>
 * @All rights reserved
 ******************************************************************/
/******************************************************************************
文 件 名   : uart.h
版 本 号   : V1.0
作    者   : pinot
生成日期   : 2019年10月21日
功能描述   : UART2345串口读写
修改历史   :
日    期   :
作    者   :
修改内容   :
******************************************************************************/

#ifndef _UART_H_
#define _UART_H_
/*****************************************************************************
自定义头文件*/
#include "sys.h"
/*****************************************************************************
系统库*/
#include "string.h"

sbit RS485_TX_EN = P0 ^ 1;
/*****************************************************************************
宏定义变量*/
#define UART2_MAX_LEN 8096
extern uint16_t uart2_rx_count;
extern uint8_t Uart2_Rx[UART2_MAX_LEN];

#define UART3_MAX_LEN 128
extern uint16_t uart3_rx_count;
extern uint8_t Uart3_Rx[UART3_MAX_LEN];

#define UART4_MAX_LEN 128
extern uint16_t uart4_rx_count;
extern uint8_t Uart4_Rx[UART4_MAX_LEN];

#define UART5_MAX_LEN 128
extern uint16_t uart5_rx_count;
extern uint8_t Uart5_Rx[UART5_MAX_LEN];

extern u8 Uart3_TTL_Status;

/*****************************************************************************
对外函数声明*/
void InitUart(void);

void Uart2Init(void);
void Uart2SendByte(uint8_t dat);
void Uart2SendStr(uint8_t *pstr, uint8_t strlen);
void Uart3Init(void);
void Uart3SendByte(uint8_t dat);
void Uart3SendStr(uint8_t *pstr, uint8_t strlen);

void Uart4Init(void);
void Uart4SendByte(uint8_t dat);
void Uart4SendStr(uint8_t *pstr, uint8_t strlen);
void Uart5Init(void);
void Uart5Init(void);
void Uart5SendStr(uint8_t *pstr, uint8_t strlen);

#endif
